Anaconda创建虚拟环境并使用Jupyter 您所在的位置:网站首页 虚拟环境 英文 Anaconda创建虚拟环境并使用Jupyter

Anaconda创建虚拟环境并使用Jupyter

2024-06-04 15:16| 来源: 网络整理| 查看: 265

Anaconda

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。 具体安装步骤自行百度。

虚拟环境 什么是虚拟环境?

一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了,需要Scrapy库,就在开辟一个独立空间来学习Scrapy库相关就行了。

为什么使用虚拟环境?

在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景:

场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;

场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。

Tips:其实虚拟环境好处也确实比较多,会给我们项目的开发带来许多的好处,但不要贪玩哦。

使用和管理虚拟环境 运行Anaconda Prompt检验当前conda的版本 conda -V 创建虚拟环境: conda create -n env_name python=x.x #同时可以安装指定库 conda create -n env_name numpy matplotlib python=3.6

env_name 为虚拟环境名称,x.x为虚拟环境python的版本,根据需求来定。

激活虚拟环境 conda activate env_name 退出虚拟环境 conda deactivate env_name 查看已有的虚拟环境 conda env list 或 conda info -e 如果没有进入到当前虚拟环境,使用-n env_name 的方式去指定对某个虚拟环境安装软件 # 查看指定环境下已安装的package conda list -n env_name # 安装指定环境下某个package conda install -n env_name [package] # 删除指定环境下某个package conda remove -n env_name [package] # 更新指定环境下某个package conda update -n env_name [package] 重命名环境 conda create -n env_name1 --clone env_name2 删除虚拟环境 conda remove -n env_name --all删除虚拟环境中的包 conda remove --name $your_env_name $package_name(包名)检查更新当前conda conda update conda 换源 有时用国外镜像源下载库的速度比较慢,因此可以将镜像源换位国内的。 Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。 channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

然后运行 conda clean -i 清除索引缓存即可。

Jupyter Notebook Jupyter notebook简介

Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。 之前我们只能在普通的 Python shell 或者在IDE(集成开发环境)中写代码,然后在word中写文档来说明你的项目。这个过程很反锁,而且写完代码之后,还需要重头回顾一遍代码来写文档。最致命的地方在于,有些数据分析的中间结果,还需要重新跑代码,然后把结果弄到文档里给客户看。但是notebook 可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。也就是它可以能将代码、文档等这一切集中到一处,让用户一目了然。

例如: 在这里插入图片描述

快速上手notebook 启动Jupyter notebook

安装Anaconda时自带Jupyter notebook,如果没有可以通过执行命令行pip3 install jupyter即可

双击Jupyter notebook图标。 在这里插入图片描述在终端中输入以下命令` Jupyter notebook

ps:如果同时启动多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”…

指定端口启动 jupyter notebook --port 启动服务器但不打开浏览器 jupyter notebook --no-browser 关闭 notebook服务器

通过在终端中按两次 Ctrl + C,可以关闭整个服务器。

关闭Jupler notebook文件

对于关闭 notebook,可以通过选中文件,点击 “shutdown” 来操作操作,但请确认先保存。 在这里插入图片描述 或者直接关闭notebook的页面即可。 ps:这会立即关闭所有运行中的 notebook,记得关闭文件。 关闭notebook服务器后,下次启动再打开notebook,当你继续在该notebook中写代码时,发现之前的变量无法访问了。需要你在该notebook的Kernerl选项卡中选择“Run All”重新编译下之前的代码。 在这里插入图片描述

notebook 界面

Jupyter notebook有两种不同的键盘输入模式:

① 编辑模式:编辑代码,单元格显示绿色边框。

切换方式:单击单元格内,或者直接按键盘上 Enter 键,即可进入编辑模式。 在这里插入图片描述

② 命令模式:执行命令,比如在上添加一个单元格,在下添加一个单元格,删除选中的单元格等,单元格显示***蓝色***边框。

切换方式:单击单元格外任何位置,或者直接按键盘上 Esc 键,即可进入命令模式。 在这里插入图片描述

代码单元格

平时在 IDE 软件里敲代码一样,可以编写和执行代码,给变量赋值、定义函数和类、导入包等。可以通过 Shift + Enter 执行单元格代码。 在这里插入图片描述

Markdown 单元格

Markdowen模式:用来记笔记,可以加入链接、将文本样式设为粗体或斜体和设置代码格式。通过 Shift + Enter 或 Ctrl + Enter 可运行 Markdown 单元格,将 Markdown 呈现为格式化文本。 在code编辑模式下,Esc一下切换到命令模式,然后M键一下切换到markdown模式。在这里插入图片描述

重命名notebook

可以直接修改 在这里插入图片描述 或者点击“File”->Rename,对文件进行重命名 在这里插入图片描述 然后进行保存。 在这里插入图片描述

上传notebook文件在这里插入图片描述

上传完成后,点击上传的文件,就可以在notebook中打开了

下载notebook文件

点击File->Download as,可以选择多种格式下载你的notebook。可以根据下面的用途来选择不同的下载格式:

如果想和客户分享数据分析成果,选择将notebook下载为HTML文件。如果希望将自己的数据分析成果和代码嵌入到项目中,可以选择Python(.py)模块,这样可以将我的代码融入项目中,成为子模块,方便和其他开发人员共同完成任务。如果想要在博客或文档中使用 notebook,我就选择Markdown格式。默认的notebook文件后缀是.ipynb 快捷键(网页上的Jupyter Notebook应用)

notebook 快捷键,能让你无需使用鼠标和工具栏,快速使用键盘与单元格交互。虽然了解这些快捷键需要花费一点时间,但熟练掌握之后,可以大大提高工作效率。快捷键可以通过单元格 蓝色 状态下按 “h” 来查看 在这里插入图片描述

1. "shift + enter" notebook单元格内执行代码,并且自动跳至下一个的单元格 2. "tab" 自动补齐代码,相当于eclipse的 alt + / 3. "shift + tab" 连按2次,显示注释,相当于eclipse的f2 命令模式(蓝框)和 编辑模式(绿框)的切换: 蓝 - 绿:"Enter", 绿 - 蓝 :"Esc" 4. 当前单元格下方创建单元格(命令模式下):"A" 5. 当前单元格上方创建单元格 (命令模式下):"B" 6. 当前单元格MarkDown模式和Code模式切换(命令模式下):m到c为"Y", c到m为"M" 7. 当前单元格内容增加行号(命令模式下):"L" 8. 删除单元格:连续两次按 "D"或者"x" 9. 保存:"S" 魔法(Magic)函数

Magic关键字是 IPython 的一些高级用法,可以运行特殊的命令,然后控制 notebook。例如,在 notebook 中可以使用%matplotlib 将 matplotlib 设置为以交互方式工作。 Magic 命令的前面带有一个或两个百分号(% 或 %%),分别代表行 Magic 命令和单元格 Magic 命令。行 Magic 命令仅应用于编写 Magic 命令时所在的行,而单元格 Magic 命令应用于整个单元格。 比如:

1.运行外部python源文件:%run xxx.py 2.计算statement的运行时间:%time statement 3.计算statement的平均运行时间:%timeit statement 4.测试多行代码的平均运行时间: %%timeit statement1 statement2 statement3

当然还有很多 Magic 关键字的使用,更多内容请参考:http://ipython.readthedocs.io/en/stable/interactive/magics.html

Jupyter Notebook内核管理 查看所有kernel jupyter kernelspec list 删除kernel jupyter kernelspec remove xxxx 切换kernel 一般情况下,可以新建文件来选择kernel。 在这里插入图片描述 但是有时候会显现无法切换kernel的情况: jupyter一直显示No module named ‘torch’,用cmd查看torch.version,可以打印出来。原因就是在使用Jupyter Notebook的时候,加载的仍然是默认的Python Kernel。 首先查看所有kernel,看需要使用的kernel是否存在Jupyter Notebook中。 jupyter kernelspec list

如果不在的话,可以通过一下方案解决:

. 安装ipykernel jupyter kernelspec list conda install ipykernel #如果不行的话可以使用 pip install ipykernel #不要问为什么,问就是不知道(计算机的神奇之处) 激活虚拟环境 conda activate env_name 将环境写入Notebook的kernel中 python -m ipykernel install --user --name env_name --display-name "name(jupyter显示名称)" 打开Jupyter notebook,新建Python文件,即可看到创建的环境。 jupyter notebook(虚拟环境中执行该命令)

但是我执行该步骤后,虽然可以在jupyter中选择该内核(虚拟环境),但是torch库报错,在这里插入图片描述 然后我在终端的python编译器中输入代码import sys sys.executable,查看路径;发现可以发现二者路径不一样,使用Jupyter Notebook的时候,加载的仍然是默认的Python Kernel,而且在Anaconda Prompt中出现“ImportError: cannot import name ‘generator_to_async_generator’”。

import sys sys.executable

我的解决方案是通过以下方式打开jupyter notebook即可(中间也安装了nb_conda_kernels等包,不知道问题的解决跟这些有没有关)。当然网上也有一些其他的解决方案。 在这里插入图片描述 此时此刻 ,jupyter notebook安装成功,我们可以在上面搞一些事情…,下集见

补充:

问题1:终端显示ImportError: cannot import name 'secure_write',jupyter界面显示jupyter连接失败到后台服务的连接没能建立, 我们会继续尝试重连, 请检查网络连接还有服务配置. 解决办法:首先更新 jupyter_client版本

pip install --upgrade jupyter_client

然后可能会显示"AttributeError: type object 'IOLoop' has no attribute 'initialized' ",这是因为tornado版本过高,不支持jupyter notebook,可以将 降低tornado版本

conda install tornado=4.5


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有